#ifndef SCHOOLWORK_DEMO6_EMPLOYEE_H
#define SCHOOLWORK_DEMO6_EMPLOYEE_H

class Employee{
protected:
    char *name;
    int individualEmpNo;
    int grade;
    float accumPay;
    static int employeeCounter;

public:
    Employee();
    ~Employee();
    void pay();
    void promote(int);
    void displaySatatus();
};

class Technician:public Employee {
private:
    float hourlyRate;
    int workHours;
public:
    Technician();
    void pay();
    void displayStatus();
};

class Salesman:public Employee {
private:
    float commRate;
    int sales;
public:
    Salesman();
    void pay();
    void displayStatus();
};

class Manager:virtual public Employee {
private:
    float monthlyPay;
public:
    Manager();
    void pay();
    void displayStatus();
};

class SalesManager:public Manager,public Salesman{
public:
    SalesManager();
    void play();
    void displayStatus();
};

#endif //SCHOOLWORK_DEMO6_EMPLOYEE_H
